# strictheader

On almost all systems, the C standard headers include other headers, which is fine enough, but this is not standardized. As such this can cause portability issues.

Consider the following:

```
#include <stdlib.h>

int main(void) {
	int16_t* p = malloc(sizeof(int16_t));
	*p = 0;
	return *p;
}
```

On my machine this compiles, but on some machines `stdlib.h` does not eventually include `stdint.h`, which will cause a compiler error.

If you instead compile with `-I./c99`, this causes a compiler error.

This is **NOT** a replacement for the standard headers. Look at `c99/tgmath.h`, all math functions will return 0! Look at `c99/float.h`, the values are standard-violating and complete nonsense.

This was made **very** carelessly, there is almost certainly errors everywhere.

## Future plans

